El dìa lunes 19 de marzo de 2018 el periódico El Colombiano en la segunda y tercera página publicó bajo el titular: “Ahora también se puede ir de compras a la droguería” un informe sobre el negocio creciente de autoservicio las droguerías y las farmacias en el país.
En la publicación bajo el tìtulo de “PLATAFORMAS Y EXTENSIÓN” se muestra de maner gráfica y numérica el número de establecimientos de las principales marcas del país.
El diagrama se muestra a continuación:
Se realizó una toma de datos de la percepción que tenían los estudiantes de la estimación de los valores que representaban diferentes tipos de gráficas.
El particular se presentaron las siguientes gráficas:
A los estudiantes se les indicó el que el valor de Copservir con respecto al número de establecimientos fue de 884.
Y se les indicó que estimaran los valores de las demás marcas sin utilizar ningún tipo de instrumento de medida, sino únicamente su percepción visual de la gráfica para tal estimativo.
library(readxl)
farma <- read_excel("farmacias_encuesta.xlsx")
# Convertir la columna de gráfica en factor
farma$Grafica <- factor(farma$Grafica)
summary(farma)
## ID Farmacenter Colsubsidio Cafam
## Min. : 0 Min. :250.0 Min. :150.0 Min. :100.0
## 1st Qu.:14 1st Qu.:500.0 1st Qu.:318.0 1st Qu.:260.0
## Median :28 Median :611.5 Median :381.0 Median :300.0
## Mean :28 Mean :583.6 Mean :379.1 Mean :307.9
## 3rd Qu.:42 3rd Qu.:654.8 3rd Qu.:442.0 3rd Qu.:350.0
## Max. :56 Max. :796.0 Max. :680.0 Max. :630.0
## NA's :1 NA's :1 NA's :1
## Cruz Verde Pasteur Grafica
## Min. : 60.0 Min. : 24.0 barras horizontales:14
## 1st Qu.:206.8 1st Qu.:126.5 barras verticales :14
## Median :232.0 Median :195.0 círculos :14
## Mean :253.9 Mean :196.8 original : 1
## 3rd Qu.:300.0 3rd Qu.:250.0 pastel :14
## Max. :590.0 Max. :550.0
## NA's :1 NA's :1
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
farma1 <- farma %>%
filter(!is.na(Farmacenter) & ID != 0) %>%
droplevels()
farmaO <- farma %>%
filter(ID == 0) %>%
droplevels() %>%
gather(key = marca, value = numEstablecimientos,
-c(ID, Grafica)) %>%
mutate(marca = factor(marca,
levels = c("Farmacenter",
"Colsubsidio",
"Cafam",
"Cruz Verde",
"Pasteur")))
library(tidyr)
farma2 <- farma1 %>%
gather(key = marca, value = numEstablecimientos,
-c(ID, Grafica)) %>%
mutate(marca = factor(marca,
levels = c("Farmacenter",
"Colsubsidio",
"Cafam",
"Cruz Verde",
"Pasteur")))
summary(farma1)
## ID Farmacenter Colsubsidio Cafam
## Min. : 1.00 Min. :250.0 Min. :150.0 Min. :100.0
## 1st Qu.:15.50 1st Qu.:500.0 1st Qu.:316.0 1st Qu.:260.0
## Median :29.00 Median :613.0 Median :382.0 Median :300.0
## Mean :28.91 Mean :583.3 Mean :379.8 Mean :308.6
## 3rd Qu.:42.50 3rd Qu.:656.5 3rd Qu.:442.0 3rd Qu.:350.0
## Max. :56.00 Max. :796.0 Max. :680.0 Max. :630.0
## Cruz Verde Pasteur Grafica
## Min. : 60.0 Min. : 24.0 barras horizontales:14
## 1st Qu.:204.5 1st Qu.:121.0 barras verticales :14
## Median :234.0 Median :200.0 círculos :13
## Mean :254.6 Mean :197.4 pastel :14
## 3rd Qu.:300.0 3rd Qu.:250.0
## Max. :590.0 Max. :550.0
summary(farma2)
## ID Grafica marca
## Min. : 1.00 barras horizontales:70 Farmacenter:55
## 1st Qu.:15.00 barras verticales :70 Colsubsidio:55
## Median :29.00 círculos :65 Cafam :55
## Mean :28.91 pastel :70 Cruz Verde :55
## 3rd Qu.:43.00 Pasteur :55
## Max. :56.00
## numEstablecimientos
## Min. : 24.0
## 1st Qu.:226.0
## Median :305.0
## Mean :344.8
## 3rd Qu.:442.0
## Max. :796.0
library(dplyr)
resumen <- farma2 %>%
group_by(Grafica, marca) %>%
summarise(promedio = mean(numEstablecimientos),
desvEst = sd(numEstablecimientos))
resumen
## # A tibble: 20 x 4
## # Groups: Grafica [?]
## Grafica marca promedio desvEst
## <fct> <fct> <dbl> <dbl>
## 1 barras horizontales Farmacenter 630. 46.2
## 2 barras horizontales Colsubsidio 377. 56.8
## 3 barras horizontales Cafam 310. 52.6
## 4 barras horizontales Cruz Verde 260. 54.8
## 5 barras horizontales Pasteur 221. 54.6
## 6 barras verticales Farmacenter 598. 115.
## 7 barras verticales Colsubsidio 357. 91.1
## 8 barras verticales Cafam 290. 77.9
## 9 barras verticales Cruz Verde 251. 75.6
## 10 barras verticales Pasteur 210. 73.6
## 11 círculos Farmacenter 652. 97.8
## 12 círculos Colsubsidio 461. 113.
## 13 círculos Cafam 365. 138.
## 14 círculos Cruz Verde 296. 134.
## 15 círculos Pasteur 217. 145.
## 16 pastel Farmacenter 458. 79.1
## 17 pastel Colsubsidio 330. 70.7
## 18 pastel Cafam 273. 70.7
## 19 pastel Cruz Verde 214. 70.9
## 20 pastel Pasteur 143. 76.9
library(ggplot2)
ggplot(farma2, aes(marca, numEstablecimientos)) +
geom_point(aes(colour = "dato")) +
facet_wrap(~ Grafica, ncol = 4) +
stat_summary(fun.y = "mean", geom = "point",
aes(colour = "PromedioEstimado"),
size = 3) +
geom_point(data = subset(farmaO, select = c(marca, numEstablecimientos)),
aes(marca, numEstablecimientos, colour = "Valorverdadero"),
shape = 18, size = 4) +
scale_colour_manual(name="",
values=c(dato="black",
PromedioEstimado = "blue",
Valorverdadero = "red"),
labels = c("Dato estimado",
"Promedio de los estimados",
"Valor real")) +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
labs(title = "Estimaciones de acuerdo al tipo de gráfica",
x = "Compañía farmacéutica",
y = "Número de establecimientos")
library(ggplot2)
ggplot(farma2, aes(marca, numEstablecimientos)) +
geom_boxplot(aes(col = "caja")) +
facet_wrap(~ Grafica, ncol = 4) +
geom_point(data = resumen, aes(marca, promedio, col = "PromVerd")) +
geom_point(data = subset(farmaO, select = -Grafica),
aes(marca, numEstablecimientos, col = "Valorverdadero")) +
scale_colour_manual(name="",
values=c(caja ="black",
PromVerd = "blue",
Valorverdadero = "red"),
labels = c("Datos",
"Promedio de los estimados",
"Valor real")) +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
labs(title = "Estimaciones de acuerdo al tipo de gráfica",
x = "Compañía farmacéutica",
y = "Número de establecimientos")
library(ggplot2)
ggplot(resumen, aes(marca, promedio)) +
geom_pointrange(aes(ymin = promedio - desvEst * 2,
ymax = promedio + desvEst * 2,
colour = "linea")) +
facet_wrap(~Grafica, ncol = 4) +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
geom_point(data = subset(farmaO, select = -Grafica),
aes(marca, numEstablecimientos, col = "Valorverdadero")) +
scale_colour_manual(name="",
values=c(linea ="black",
Valorverdadero = "red"),
labels = c("Datos",
"Valor real")) +
labs(title = "Estimaciones de acuerdo al tipo de gráfica",
x = "Compañía farmacéutica",
y = "Número de establecimientos")
library(ggplot2)
ggplot(farma2, aes(marca, numEstablecimientos, group = ID)) +
geom_line(alpha = 0.4) +
facet_wrap(~Grafica, ncol = 4) +
geom_point(data = subset(farmaO, select = -Grafica),
aes(marca, numEstablecimientos, col = "Valorverdadero")) +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
scale_colour_manual(name="",
values=c(Valorverdadero = "red"),
labels = c("Valor real")) +
labs(title = "Estimaciones por estudiante de acuerdo al tipo de gráfica",
x = "Compañía farmacéutica",
y = "Número de establecimientos")
library(dplyr)
farma1 %>%
filter( (Pasteur > `Cruz Verde`) |
(`Cruz Verde` > Cafam) |
(Cafam > Colsubsidio) |
(Farmacenter <= 300))
## # A tibble: 4 x 7
## ID Farmacenter Colsubsidio Cafam `Cruz Verde` Pasteur Grafica
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <fct>
## 1 8. 663. 442. 111. 177. 88. círculos
## 2 20. 250. 150. 100. 60. 24. barras vertica…
## 3 43. 550. 330. 350. 200. 150. pastel
## 4 53. 300. 200. 100. 80. 50. pastel